package com.solo.eggsolo.service;

import java.util.List;

import com.solo.eggsolo.common.bean.Pager;
/**
 * 
 * @author chens
 *
 * @param <T> 业务层通用CRUD操作方法封装，Result类用于easyUI更新操作用
 */
public interface BaseService<T> {
	
	/**
	 * 根据主键查询数据
	 * 
	 * @param Id
	 * @return
	 */
	public T findById(Integer Id);
	/**
	 * 使用泛型定义的通用带条件分页查询方法，pager=null时查询所有数据
	 * @param pager
	 * @return
	 */
	public List<T> list(Pager<T> pager);

	/**
	 * 使用泛型定义的通用带条件记录数方法，pager=null时查询所有数据
	 * @param pager
	 * @return
	 */
	public Integer count(Pager<T> pager);

	/**
	 * 使用泛型定义的通用新增操作方法
	 * @param object
	 * @return
	 */
	public boolean add(T object);

	/**
	 * 使用泛型定义的通用修改操作方法
	 * @param object
	 * @return
	 */
	public boolean edit(T object);

	/**
	 * 使用泛型定义的通用批量删除操作方法
	 * @param ids
	 * @return
	 */
	public boolean deleteByIds(List<T> ids);
}
